#ifndef _FRAMEWORK
#define _FRAMEWORK

// INCLUDES --------------------------------------------------------------------------
#include "Base.h"      // basic datatypes
#include "Wallclock.h" // timing functions
#include "Window.h"    // window interface
#include "Render.h"    // render capabilities

// DEFINES ---------------------------------------------------------------------------

/* picks the use of the engine clock to update the app rendering.

   enabled:
    rendering and updating of engine contents will commence with given
    UPDATE_FPS in Framework.c
    
   disabled:
    rendering will commence as fast as possible, but all other parts
    that rely on the engine clock will also runs at the same update speed!
*/
#define USE_FRAMEWORK_GRANULARITY_FOR_UPDATE

// FUNCTIONS -------------------------------------------------------------------------
void Init();              // main engine init

void Compute();           // main engine computation
void Render();            // main engine render

fp64 GetFrameworkClock(); // retrieve main engine clock (-> updated every X fps)

#endif // _FRAMEWORK
